%%%-----------------------------------------------------------------------------
%%% @doc
%%% apn_server  connect manager sup.
%%%
%%% @end
%%%-----------------------------------------------------------------------------
-module (apn_server_connect_manager_sup).

-behaviour(supervisor).

%% API
-export([start_link/1]).

%% Supervisor callbacks
-export([init/1]).

%% Helper macro for declaring children of supervisor
-define(CHILD(I, Type), {I, {I, start_link, []}, permanent, 5000, Type, [I]}).

%% ===================================================================
%% API functions
%% ===================================================================

start_link(CertFileOpts) ->
    supervisor:start_link({local, ?MODULE}, ?MODULE, [CertFileOpts]).

%% ===================================================================
%% Supervisor callbacks
%% ===================================================================

init([CertFileOpts]) ->
    {ok, {{one_for_one, 5, 10}, 
          [{apn_server_connect_manager, 
           {apn_server_connect_manager, start_link, [CertFileOpts]}, 
           permanent, 
           10000, 
           worker, 
           [apn_server_connect_manager]}]} 
    }.

